package com.sg.dto.biz.app.res;

import com.sg.dto.base.app.common.StandardDataDto;
import com.sg.dto.biz.app.common.CycleDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementSevenReceivingFieldRespDto
 * @使用场景
 */
@Data
public class ImplementSevenReceivingFieldRespDto
        extends BaseDto
        implements Serializable {
    /**
     * 自定义字段1
     */
    @ApiModelProperty("自定义字段1")
    private String customField1;

    /**
     * 自定义字段2
     */
    @ApiModelProperty("自定义字段2")
    private String customField2;
    /**
     * 父子中过程周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("父子中过程周期类型")
    private String parentSubMidCycleType;
    @ApiModelProperty("标准数据列表")
    private List<StandardDataDto> standardDataList = new ArrayList<>();
    /**
     * 进度值
     */
    @ApiModelProperty("进度值")
    private Double progressValue;

    /**
     * 进度参照值
     */
    @ApiModelProperty("进度参照值")
    private Double refProgressValue;
    /**
     * 实际值
     */
    @ApiModelProperty("实际值")
    private Double actualValue;
    /**
     * 数据值结果
     */
    @ApiModelProperty("数据值结果")
    private Double dataResult;
    /**
     * 实际参照值
     */
    @ApiModelProperty("实际参照值")
    private Double refActualValue;
    /**
     * 主客观得分
     */
    @ApiModelProperty("主客观得分")
    private Double subAndObjScore;

    /**
     * 主观得分
     */
    @ApiModelProperty("主观得分")
    private Double subjectiveScore;

    /**
     * 客观得分
     */
    @ApiModelProperty("客观得分")
    private Double objectiveScore;
    /**
     * 通用数值字段（整数型）
     */
    @ApiModelProperty("通用数值字段（整数型）")
    private Long comNumField;
    /**
     * 过程中期汇报得分
     */
    @ApiModelProperty("过程中期汇报得分")
    private Double processMidCycleReportScore;

    /**
     * 中期汇报得分
     */
    @ApiModelProperty("中期汇报得分")
    private Double midCycleReportScore;

    /**
     * 汇报平均分
     */
    @ApiModelProperty("汇报平均分")
    private Double processReportAverageScore;

    /**
     * 下级KR得分
     */
    @ApiModelProperty("下级KR得分")
    private Double krProcessScore;

    /**
     * 主客观得分_主观得分权重
     */
    @ApiModelProperty("主客观得分_主观得分权重")
    private Double subjectiveScoreWeight;

    /**
     * 主客观得分_客观得分权重
     */
    @ApiModelProperty("主客观得分_客观得分权重")
    private Double objectiveScoreWeight;

    /**
     * 汇报得分_过程中期权重
     */
    @ApiModelProperty("汇报得分_过程中期权重")
    private Double processReportScoreProMidWeight;

    /**
     * 汇报得分_中期得分权重
     */
    @ApiModelProperty("汇报得分_中期得分权重")
    private Double processReportScoreMidWeight;

    /**
     * 汇报得分_汇报平均分权重
     */
    @ApiModelProperty("汇报得分_汇报平均分权重")
    private Double processReportScoreAvgWeight;

    /**
     * 汇报得分_下级KR权重
     */
    @ApiModelProperty("汇报得分_下级KR权重")
    private Double processReportScoreKrWeight;
    /**
     * 下级汇报得分
     */
    @ApiModelProperty("下级汇报得分")
    private Double lowReportScore;
    /**
     * 克隆汇报得分
     */
    @ApiModelProperty("克隆汇报得分")
    private Double cloneReportScore;
    /**
     * 下级实际得分
     */
    @ApiModelProperty("下级实际得分")
    private Double subordinatesActualScore;
    /**
     * 汇报得分
     */
    @ApiModelProperty("汇报得分")
    private Double reportScoreValue;
    /**
     * 实际得分
     */
    @ApiModelProperty("实际得分")
    private Double actualScoreValue;

    /**
     * 达成度
     */
    @ApiModelProperty("达成度")
    private Double reach;
    /**
     * 自定义字段3
     */
    @ApiModelProperty("自定义字段3")
    private String customField3;

    /**
     * 自定义字段4
     */
    @ApiModelProperty("自定义字段4")
    private String customField4;

    /**
     * 通用数值字段1（小数型）
     */
    @ApiModelProperty("通用数值字段1（小数型）")
    private Double comFloatField1;

    /**
     * 汇报得分_主客观得分权重
     */
    @ApiModelProperty("汇报得分_主客观得分权重")
    private Double reportScoreSubAndObjWeight;

    /**
     * 实际得分_下级实际得分权重
     */
    @ApiModelProperty("实际得分_下级实际得分权重")
    private Double actualScoreLowerLevelWeight;

    /**
     * 实际得分_下级实际得分
     */
    @ApiModelProperty("实际得分_下级实际得分")
    private Double subordinatesActualTotalScore;
    /**
     * 计算结果
     */
    @ApiModelProperty("计算结果")
    private Double calcResult;
    /**
     * 数据业务场景 TARGET_PLAN_CALC_DATA_STATISTICS:目标规划计算数据统计 BUDGET_DATA_STATISTICS:预算数据统计 PMO_DATA_STATISTICS:PMO数据统计 REPORT_TASK_DATA_STATISTICS:11111汇报任务数据统计
     */
    @ApiModelProperty("数据业务场景")
    private String dataUsageSceneCode;

    /**
     * 自定义字段5
     */
    @ApiModelProperty("自定义字段5")
    private String customField5;

    /**
     * 自定义字段6
     */
    @ApiModelProperty("自定义字段6")
    private String customField6;

    /**
     * 自定义字段7
     */
    @ApiModelProperty("自定义字段7")
    private String customField7;

    /**
     * 自定义字段8
     */
    @ApiModelProperty("自定义字段8")
    private String customField8;

    /**
     * 自定义字段9
     */
    @ApiModelProperty("自定义字段9")
    private String customField9;
    /**
     * 目标得分
     */
    @ApiModelProperty("目标得分")
    private Double targetScore;

    /**
     * 本级过程得分
     */
    @ApiModelProperty("本级过程得分")
    private Double thisLevelProcessScore;

    /**
     * 下级目标得分
     */
    @ApiModelProperty("下级目标得分")
    private Double subTargetScore;
    /**
     * 克隆目标得分
     */
    @ApiModelProperty("克隆目标得分")
    private Double cloneTargetScore;
    /**
     * 目标得分_本级过程得分权重
     */
    @ApiModelProperty("目标得分_本级过程得分权重")
    private Double actualScoreLocalLevelWeight;
    /**
     * 数据是否准备完整 TRUE:是 FALSE:否
     */
    @ApiModelProperty("数据是否准备完整")
    private String dataCompletePreparation;
    /**
     * 其他树目标得分本级或下级变量 RANK_CALC:计算本级得分 DOWN_CALC:计算下级得分 RANK_AND_DOWN_CALC:计算本级+下级得分
     */
    @ApiModelProperty("其他树目标得分本级或下级变量")
    private String otherTreeRankOrDownCalc;
    /**
     * 其他树达成度
     */
    @ApiModelProperty("其他树达成度")
    private Double otherReach;

    /**
     * 其他树目标得分
     */
    @ApiModelProperty("其他树目标得分")
    private Double otherTargetScore;
    /**
     * 执行周期阶段ID
     */
    @ApiModelProperty("执行周期阶段ID")
    private String executeCycleStageId;
    /**
     * 本级过程得分_主客观得分权重原始
     */
    @ApiModelProperty("本级过程得分_主客观得分权重原始")
    private Double reportScoreSubAndObjWeightOri;

    /**
     * 本级过程得分_过程中期得分权重原始
     */
    @ApiModelProperty("本级过程得分_过程中期得分权重原始")
    private Double processReportScoreProMidWeightOri;

    /**
     * 本级过程得分_中期得分权重原始
     */
    @ApiModelProperty("本级过程得分_中期得分权重原始")
    private Double processReportScoreMidWeightOri;

    /**
     * 本级过程得分_最近平均分权重原始
     */
    @ApiModelProperty("本级过程得分_最近平均分权重原始")
    private Double processReportScoreAvgWeightOri;
    /**
     * 目标得分十位精度
     */
    @ApiModelProperty("目标得分十位精度")
    private Double targetScoreTen;
    @ApiModelProperty("周期列表")
    private List<CycleDto> cycleList = new ArrayList<>();

}
